﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Sistema_Test_OnLine.Model;
using Sistema_Test_OnLine.Logic;
using System.IO;

namespace Sistema_Test_OnLine.Presentacion
{
    public partial class Edit_Pre_op_Unica : System.Web.UI.Page
    {
        private string url_imagen;

        string tipo = "nada";
        string enunciado = "nada";
        string explicacion = "nada";

        public string Url_imagen
        {
            get { return url_imagen; }
            set { url_imagen = value; }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
                LoadData();
        }

        private Boolean ValidaExtension(string sExtension)
        {
            Boolean rel = false;
            switch (sExtension)
            {
                case ".jpg":
                case ".jpeg":
                case ".png":
                case ".gif":
                case ".bmp":
                    rel = true;
                    break;
                default:
                    rel = false;
                    break;

            }
            return rel;
        }
        protected void btnSubir_Click(object sender, EventArgs e)
        {

            string sExt = string.Empty;
            string sName = string.Empty;
            imgSubida.Width = 0;
            imgSubida.Width = 0;
            imgSubida.ImageUrl = "";


            if (uploadFile.HasFile)
            {
                sName = uploadFile.FileName;
                sExt = Path.GetExtension(sName);

                if (ValidaExtension(sExt))
                {
                    uploadFile.SaveAs(MapPath("~/images_preguntas/" + sName));
                    imgSubida.Width = 300;
                    imgSubida.Width = 300;
                    //Url_imagen = "/images_preguntas/"+sName;
                    imgSubida.ImageUrl = "/images_preguntas/" + sName;
                    lblMensaje.Text = "Archivo cargado correctamente.";

                }
                else
                    lblMensaje.Text = "El archivo no es de tipo imagen.";
            }
            else
                lblMensaje.Text = "Seleccione el archivo que desea subir.";
        }

        protected void btn_guardar_preg_Click(object sender, EventArgs e)
        {
            tipo = "Multiple Respuesta";
            string re1 = "no", re2 = "no", re3 = "no", re4 = "no", op1 = "no", op2 = "no", op3 = "no", op4 = "no";

            if (txt_pregunta.Text.Equals(" "))
            {
                lblMensaje3.Text = "Debe ingresar un enunciado para la pregunta";
                txt_pregunta.Focus();
                return;
            }

            if (txtb_op1.Text.Equals("") || txtb_op2.Text.Equals("") || txtb_op3.Text.Equals("") || txtb_op4.Text.Equals(""))
            {
                lblMensaje0.Text = "Debe ingresar las 4 opciones";
                txtb_op1.Focus();
                return;
            }
            
            if (RadioButton1.Checked)
            {
                re1 = txtb_op1.Text;
            }
            if (RadioButton2.Checked)
            {
                re2 = txtb_op2.Text;
            }
            if (RadioButton3.Checked)
            {
                re3 = txtb_op3.Text;
            }
            if (RadioButton4.Checked)
            {
                re4 = txtb_op4.Text;
            }

            if (!RadioButton1.Checked)
            {
                op1 = txtb_op1.Text;
            }
            if (!RadioButton2.Checked)
            {
                op2 = txtb_op2.Text;
            }
            if (!RadioButton3.Checked)
            {
                op3 = txtb_op3.Text;
            }
            if (!RadioButton4.Checked)
            {
                op4 = txtb_op4.Text;
            }
            int id = int.Parse(Session["idPregunta"].ToString());
            PreguntaDB preguntaDB = new PreguntaDB();
            Pregunta preg = new Pregunta(id, txt_pregunta.Text, txt_explicacion.Text, re1, re2, re3, re4, op1, op2, op3, op4, tipo, lis_examenes.SelectedValue, imgSubida.ImageUrl);
            preguntaDB.UpdatePregunta(preg);
            Response.Redirect("~/Presentacion/Banco_Preguntas.aspx");
        }
        protected void LoadData()
        {
            int id = int.Parse(Session["idPregunta"].ToString());
            Pregunta pre = Facade.FindPregunta(id);
            if (pre != null)
            {

                txt_pregunta.Text = pre.Enunciado;
                txt_explicacion.Text = pre.Explicacion;
                if (!pre.Solucion1.Equals("no"))
                {
                    txtb_op1.Text = pre.Solucion1;
                    RadioButton1.Checked = true;
                }
                if (!pre.Solucion2.Equals("no"))
                {
                    txtb_op2.Text = pre.Solucion2;
                    RadioButton2.Checked = true;
                }
                if (!pre.Solucion3.Equals("no"))
                {
                    txtb_op3.Text = pre.Solucion3;
                    RadioButton3.Checked = true;
                }
                if (!pre.Solucion4.Equals("no"))
                {
                    txtb_op4.Text = pre.Solucion4;
                    RadioButton4.Checked = true;
                }

                if (!pre.Opcion1.Equals("no"))
                {
                    txtb_op1.Text = pre.Opcion1;
                    RadioButton1.Checked = false;
                }
                if (!pre.Opcion2.Equals("no"))
                {
                    txtb_op2.Text = pre.Opcion2;
                    RadioButton2.Checked = false;
                }
                if (!pre.Opcion3.Equals("no"))
                {
                    txtb_op3.Text = pre.Opcion3;
                    RadioButton3.Checked = false;
                }
                if (!pre.Opcion4.Equals("no"))
                {
                    txtb_op4.Text = pre.Opcion3;
                    RadioButton4.Checked = false;
                }

                lis_examenes.SelectedValue = pre.Examen;
                imgSubida.Width = 300;
                imgSubida.Width = 300;
                imgSubida.ImageUrl = pre.Imagen;

            }
        }
    }
}